In computer graphics texture mapping refers to adding texture, color, shading, illumination, transparency, as well as other image attributes, to the surface of an image geometry to increase the detail and realism in an image. (In this context, image geometry refers to an image surface to be rendered on a video display and is not a limited to image objects representing solid articles.) Commonly, texture mapping utilizes a texture tile (or tiled texture) that includes the image attributes of the texture and is typically smaller than the image geometry to which the texture mapping is applied. As a result, texture mapping often entails applying an array of many copies of the texture tile to the image geometry (i.e., tiling) to cover it with the image or surface texture. Texture mapping simplifies image processing by allowing image modeling calculations to be based on image geometries alone without also having to model relatively high resolution and complex surface details.
Conventional tiled textures and texture mapping suffers from relatively poor depth characteristics and therefore lack realism. An example of a common tiled texture that commonly suffers from these disadvantages is a brick wall. An actual brick wall is characterized by rich three-dimensional structures in which adjacent bricks are separated by mortar. Typically, the mortar is recessed relative to the front major faces of the bricks. When viewed from most angles, the relative depths of the brick faces and mortar are plainly discernible.
Texture mapping is the general process of wrapping an image around a geometry and rendering the results. A conventional tiled texture is a single tile that is rendered repeatedly in an array to form an image. In conventional texture mapping for computer graphics, however, the depth characteristics of the typical tiled texture of for example a brick wall are lacking. In this example, the tile may be of a single brick or, more likely, is of a group of bricks mortared together. The tile may include apparent depth characteristics between the mortar and bricks included in the tile. Even with the apparent depth characteristics of such a tile the resulting tile mappings applied to image geometries lack apparent depth. Such texture mappings look like printed wall paper rather than a three-dimensional form.
In accordance with the present invention, the loss of the apparent depth in texture mappings may be averted by employing an array of view-dependent sprited tiles that provide different views of an image texture (e.g., structure, color, shading, illumination, transparency, as well as other image attributes). The different views of the image texture correspond to different viewing angles at which a user would see the tiles when they are applied to an image geometry. In one implementation, the viewing angles are based upon the horizontal angles (i.e., angles within a horizontal plane of a user's view) at which the user views the tiles. This implementation is considered to be view dependent in one (angular) dimension or, alternatively, a one-dimensional array of sprited tiles. Tiles in accordance with this invention can also be based upon other single angular dimensions (e.g., vertical and others) or multiple (e.g., two) viewing angle dimensions.
In one implementation, the view dependent sprited tiles are two-dimensional projections of three-dimensional structures. The typical projections for applying or projecting a three-dimensional structure onto a two-dimensional representation or image plane are the perspective projection and the orthographic projection. Neither projection is desirable for providing such view dependent sprited tiles. Whenever tiles formed by perspective or orthographic projections at different viewing angles are positioned together, image artifacts arising from inconsistencies in their views undermine the goal of improved depth characteristics.
In particular, tiles with perspective projections undergo second perspective projections after the tiles are applied to an image geometry, which results in undesirable image artifacts. Orthographic projections introduce apparent rotation of the image plane for different viewing angles. This apparent rotation can introduce changes in the apparent shapes of tiles that are near each other, but are viewed at different viewing angles. The image artifacts from perspective and orthographic projections can appear as inconsistencies in the appearances of adjacent tiles or in the appearance of the image geometry to which the tiles are applied.
To avoid such image artifacts, view dependent sprited tiles are formed in one implementation by oblique parallel projections. Oblique parallel projections do not introduce perspective foreshortening or apparent rotation of the image plane for different viewing angles. In view dependent sprited tiles that are two-dimensional projections of a three-dimensional structure, for example, and in which the three-dimensional structure has a front surface that is the generally major surface of the three-dimensional structures in the tiles (i.e., the surface that is about parallel to the plane of a tile), an oblique parallel projection maintains the dimensions (including shape) of the front surface at different viewing angles.
Additional objects and advantages of the present invention will be apparent from the detailed description of the preferred embodiment thereof, which proceeds with reference to the accompanying drawings.